#ifndef __DICCIONARIO_H__
#define __DICCIONARIO_H__

#include "Lista.h"
#include "Entrada.h"
#include "ComparadorEntradas.h"
#include <string>
#include <algorithm>
#include <cctype>
#include <iostream>

using namespace std;

/**
 * Implementacion basica de un diccionario (clase que permite almacenar y recuperar comodamente pares clave/valor)
 */
class Diccionario{
	Lista<Entrada>* entradas;

public:

	/**
	 * Inicializa la lista de entradas
	 */
	Diccionario();

	/**
	 * Establece un par clave/valor
	 */
	void put(const string& clave, const string& valor);

	/**
	 * Devuelve el valor asociado a una clave
	 */
	string* const get(const string& clave);

	/**
	 * Devuelve la lista completa de las entradas guardadas
	 */
	Lista<Entrada>* getEntradas();

	/**
	 * Libera la memoria usada para almacenar las claves
	 */
	~Diccionario();

};

#endif